home *** CD-ROM | disk | FTP | other *** search
/ LSD Docs / LSD Docs.iso / FILEZ / lsd12.dms / lsd12.adf / 33 / 33
Text File  |  1989-08-12  |  16KB  |  307 lines

  1.                         JAMCRACKERPRO V1.0A BY XAG
  2.  
  3. Typed by ???  Edited by PARASITE.
  4.  
  5.  
  6. INTRODUCTION
  7. The original JamCracker had several limitations (and loads of bugs) so I took
  8. it  upon  myself  to do an updated version.  What started out as a project to
  9. simply  fix  the  bugs  turned into a major revision of the entire editor, so
  10. we've  decided to called this new version JamCrackerPro.  JamCrackerPro looks
  11. similar  to JamCracker, and currently uses virtually the same song format for
  12. compatibility  (this  will change with the next release), but it now has many
  13. new options and improvments, not to mention all the bug fixes.
  14.  
  15. IMPROVEMENTS SINCE JAMCRACKER V1.0:
  16.           - Makes full use of Requester library
  17.           - Most (hopefully all) bugs fixed
  18.           - New wave editor functions (see WAVEFORM EDITOR section)
  19.           - New Prefs feature (see PREFERENCES section)
  20.           - Improved layout
  21.           - Improved file handling (checks if files exists when saving etc.)
  22.           - Improved used of keyboard (especially in Pattern Editor)
  23.           - Program auto-detaches itself from CLI
  24.           - Uses Topaz font for greater convenience
  25.           - New pattern edit functions (see PATTERN EDITOR section)
  26.           - Now possible to save loaded samples
  27.           - Seperate song name, saved with module
  28.           - Significantly faster play-routine (see end)
  29.  
  30. JamCrackerPro shouldn't really be run from Workbench, but nothing disasterous
  31. will happen if it is.
  32.  
  33. SONG CONTROL
  34. From  this  window  you control such things as playing and stopping the song;
  35. loading,  saving and deleting songs and editing the sequence of patterns that
  36. makes  up  a  song.   Here  is  a  description of the various sections of the
  37. window:
  38.  
  39. LENGTH:   Length  of  the current song in patterns.  A song is always at
  40.           least  one  pattern long.  The maximum length of a song is $FF
  41.           patterns.
  42. POSITION: The current position (in patterns) in the song, zero being the
  43.           start.
  44. PATTERN:  The pattern number assigned to the current position.
  45. SIZE:     The size of the whole song in bytes, including instruments.
  46. FREE MEM: The  amount  of  free Chip-RAM in bytes.  JamCrackerPro uses
  47.           only Chip-RAM for it's data
  48. PLAY:     Plays  the song starting from the current position.  After the
  49.           last pattern in the sequence has played, the song will restart
  50.           from position zero.
  51. STOP:     Stops the song, leaving the current position intact.
  52. LOAD:     Allows you to load a new song.
  53. SAVE:     Allows you to save the current song. The name you type in to the
  54.           songname box (18 chars) is saved after the actual module. Modules
  55.           without the name extension will adopt their filenames as their
  56.           songname.
  57. CLEAR:    Clear everything allowing you to start from scratch.  The only
  58.           thing  left  intact  is  the  contents  of the Waveform Editor
  59.           window and the Waveform Editor's undo buffer.
  60. QUIT:     Allows you to exit JamCrackerPro.
  61. ABOUT:    Brings up the obligatory "about..." requester.
  62. SHOW:     Brings up a file-requester simply for the purpose of examining
  63.           disk's contents.
  64. DELETE:   Allows you to delete files.
  65. PREFS:    Brings up the prefs window.  See the next section.
  66.  
  67. PREFERENCES
  68. This  function enables you to specify certain defaults which will take effect
  69. every time you run JamCrackerPro.  You can specify the following settings:
  70.  
  71.  - Screen colours. All four colours can be edited using the Requester
  72.    library's palette editor.
  73.  
  74.  - Low-pass filter. This can be turned on or off as desired.
  75.  
  76.  - Default directory paths. You can specify the default directories for
  77.    Songs, Patterns, Waveforms and Instruments (raw samples).
  78.  
  79.  - Blank step characters. These are the characters used to display a blank
  80.    step in the pattern editor.
  81.  
  82. If  you  make  some changes to the preferences and then decide you don't like
  83. them,  you can reload the last-saved preferences using the LOAD option.  When
  84. you're happy with the settings, use SAVE to store them.  The preferences file
  85. is called "S:JamCrackerPro.prefs".
  86.  
  87. WAVEFORM EDITOR
  88. Here  you  can edit, load and save simple custom waveforms, which can be used
  89. as  instruments.  Custom waveform sizes are $40 bytes.  They are much smaller
  90. than  samples,  and therefore, you can use a lot of them without wasting much
  91. memory.   You can create and edit waveforms by drawing in the window with the
  92. mouse.  Here's a description of the gadgets:
  93.  
  94. ZERO:     Clears the current waveform.
  95. SINE:     Generates a sine-shaped waveform.
  96. TRIANGLE: Generates a triangle-shaped waveform.
  97. SQUARE:   Generates a square-shaped waveform.
  98. SAW:      Generates a sawtooth-shaped waveform.
  99. RANDOM:   Generates a randomly shaped waveform (can be used as the basis for
  100.           simple white-noise effects - see the PATTERN EDITOR section).
  101. MIX:      Mixes the contents of the undo buffer with the current waveform.
  102.           This enables you to produce some interesting waveshapes. The undo
  103.           buffer is left intact after mixing - see later for tips on use.
  104. LOUD:     Increases the amplitude of the waveform by a factor of two.
  105. DOUBLE:   Increases the pitch of the waveform by one octave.
  106. HALVE:    Replaces this waveform with its first half (if the waveform was
  107.           previously doubled, its pitch will halve).
  108. UNDO:     Lets you undo the results of ANY waveform-editor function apart
  109.           from mix.
  110. LOAD:     Allows you to load a waveform.
  111. SAVE:     Allows you to store waveforms.
  112.  
  113. THE MIX FUNCTION
  114. This function will mix together (add and average) two waveforms, one of which
  115. is  the  variable  waveform  in  the editor window and the other is the fixed
  116. waveform  in  the  undo  buffer.   To  mix  a  triangle waveform and a square
  117. waveform,  with  the  latter being fixed, first select the SQUARE option, and
  118. then  the TRIANGLE option.  This means that the undo buffer contains a square
  119. waveform,  with  the triangle waveform on-screen.  Selecting mix will mix the
  120. two.  Repeatedly selecting mix will cause the shape of the on-screen waveform
  121. to  get  closer and closer to the shape of the fixed source waveform, in this
  122. case the square wave.
  123.  
  124. The  MIX  function can be used as an opposite to the LOUD function.  To halve
  125. the  amplitude  of  a waveform, make sure the waveform is in the edit-window.
  126. Now  select  ZERO and then MIX.  The resultant waveform will be your original
  127. waveform with half it's amplitude.
  128.  
  129. INSTRUMENT WINDOW
  130. This  window  allows you to manage your instruments, be they custom waveforms
  131. or samples.
  132.  
  133. NUMBER:   The number of the current instrument. You can have up to $100
  134.           instruments in any one song, memory permitting.
  135. SIZE:     The size of the current instrument in bytes. Custom waveforms
  136.           take up $180 bytes, even though the actual waveform data is $40
  137.           bytes.
  138. TYPE:     Can be "(None)" if the current instrument position is empty,
  139.           "Sample" if the instrument is a sample or "Synth" if it is a
  140.           custom waveform.
  141. NAME:     The (displayable part of the) name of this instrument (custom
  142.           waveforms don't have names).
  143. LOAD:     Allows you to load raw sample data.
  144. SAVE:     Allows you to save the current sample as raw data. If the
  145.           instrument uses a custom waveform, this waveform will be saved as
  146.           if you saved it from the Waveform Editor (ie. a $40 byte raw
  147.           sample).
  148. CLEAR:    Removes the selected instrument from memory.
  149. ONCE/LOOP:Lets you determine if this instrument is played once, or looped
  150.           continuously. Custom waveforms are always looped.
  151. COPY FROM Uses the current waveform in the Waveform Editor window as an
  152.   EDITOR: instrument.
  153. COPY TO   Copies the instrument's waveform into the Waveform Editor
  154.   EDITOR: window. This is only possible if (a) the instrument is a custom
  155.           waveform or (b) if the size of the sample is $40 bytes.
  156. OCTAVE:   Can be UPPER or LOWER.  It is the octave at which notes are edited
  157.           and played directly.
  158.  
  159. PATTERN EDITOR
  160. In  this  window  you can edit the patterns used to make up a song.  Patterns
  161. consist  of  note  data  for four channels, and can be a maximum of $40 steps
  162. (notes) long. Here's what you can do:
  163.  
  164.  - Use the up/down cursor keys to move up/down the pattern.
  165.  - Use left/right shift and up/down cursor keys to skip $10 notes at a time.
  166.  - Use the left/right cursor keys to select what to edit. This can be notes
  167.    or note-data (instrument, effects etc.)
  168.  - Use left/right shift and left/right cursor keys to move the cursor to
  169.    either edge of the pattern edit area.
  170.  - Use F1 while editing notes to toggle between upper and lower octaves.
  171.  
  172. The format of a step is:        XX YYY IISAAVVPVVVPPP
  173.  
  174. where:    IISAAVVPVVVPPP are the note-data numbers
  175.  
  176.           XX  is the step number
  177.           YYY is the note itself, or a blank step if there is no note
  178.           II  is the number of the instrument used to play this note
  179.           S   is the pattern play speed
  180.           AA  is the arpeggio info
  181.           VV  is the vibrato info
  182.           P   is the phase-shift speed
  183.           VVV is the volume info
  184.           PPP is the pitch slide/portamento info
  185.  
  186. To  enter  a  note,  position  the cursor over the YYY area and press a "note
  187. key".   The  same applies to all other info numbers; position the cursor, and
  188. enter the data.
  189.  
  190. S   - The play speed is a number from 0-$F.  It is the time in 1/50th of a
  191.       second to wait between two notes.  If it is 0, the speed will remain
  192.       unaffected.
  193. AA  - These are two numbers from 0-$E each.  They set the arpeggio offsets.
  194.       Arpeggio is the rapid change of pitch of one note, so that it will
  195.       sound like two or three notes played simultaneously.  Each number
  196.       is added to the value of the note at that step and the three note
  197.       values are played in rapid succession. Thus, if the arpeggio info
  198.       was 00, the note would play without any alteration. If they were 30 and
  199.       the note was a C-2 (C in octave 2), the notes played in rapid
  200.       succession would be C-2 and D#2.
  201. VV  - These are two numbers, from 0-$E and 0-$F respectively. The first
  202.       number is the amplitude of the modulating waveform used to create the
  203.       vibrato, and the second is the frequency of this waveform (in effect,
  204.       they represent the depth and speed of the vibrato, respectively).
  205. P   - The phase shift speed is a number from 0-$F.  It will have effect only
  206.       on instruments formed from custom waveforms.  What is does is to shift
  207.       the phase of the wave at a certain speed, which gives the resultant wave
  208.       a more interesting sound.
  209. VVV - The first character of the volume info is a letter representing the
  210.       function to use, and can be S, U or D. The S function means that the
  211.       number following the letter (0-$40) is used to set the absolute volume
  212.       for the current note. The U function means that the note's volume will
  213.       be increased from the current value to $40 with a speed given by the
  214.       number following (0-$40 again). The D function is the opposite of the U
  215.       function in that the volume is decreased from it's current value to
  216.       zero volume. With clever use of these effects, complex amplitude
  217.       envelopes can be procuced.
  218. PPP - The first character is the function, S, U or D. The S function, when
  219.       used in conjunction with a note, causes the pitch to slide from it's
  220.       current value up or down to the pitch of the note with a speed
  221.       determined by the number following the S. The U function causes the
  222.       pitch of the note playing to slide up at the speed specified, and the D
  223.       function does the same but slides the pitch down.
  224.  
  225. All  effects  except  arpeggio  will stay in effect as long as possible, once
  226. they've been activated.
  227.  
  228. The  TAB  key,  pressed at any position in AAVVPVVVPPP will enter one or more
  229. "-"  characters.   It  means  that  the  current  effect (over which you have
  230. pressed  tab)  will stop.  Using the tab function over the volume effect will
  231. cause  the volume to stay at its current level.  Adversely, using it over the
  232. pitch  effect  will  cause the pitch to return to it's former value (ie.  the
  233. value of that last note played).
  234.  
  235. Pressing the TAB key over YYY will either make the current note the last note
  236. of  this pattern (place a "pattern break") or it will make the size $40 steps
  237. again if the cursor is over the last step in the pattern.
  238.  
  239. To  insert  a note, press RETURN.  All notes starting at the current position
  240. will  be  moved down.  To delete a note, press BACKSPACE.  All notes starting
  241. at  the  next  position will be moved up.  The last note becomes "empty".  To
  242. wipe a note without shifting the pattern data, press DEL.
  243.  
  244. When  entering  a note YYY, it will sound.  When entering an info-number, you
  245. will hear nothing.
  246.  
  247. Here is what the Pattern Editor window info means:
  248.  
  249.  - PATTERN displays the current pattern number.  You may have up to $100
  250.    patterns in memory (if they fit).  You can't increase the PATTERN number
  251.    if the current pattern is not yet used as part of the song.  Note also
  252.    that you can't clear a pattern from memory like an instrument.
  253.  - CUT, COPY, and PASTE cuts, copies or pastes a pattern.
  254.  - CHANNEL lets you change the channel you want to edit.
  255.  - ON/OFF selects whether or not a channel can be heard while playing the
  256.    song.
  257.  - CUT, COPY, and PASTE cuts, copies or pastes a channel.
  258.  - PLAY plays this pattern.
  259.  - STOP stops playing.
  260.  - LOAD loads a pattern.
  261.  - SAVE stores a pattern.
  262.  - EDIT allows you to perform some versatile editing functions on the
  263.    current channel of the current pattern. See next sub-section.
  264.  
  265. PATTERN EDIT FUNCTIONS:
  266. Here's what you can do:
  267.  
  268.  - CHANGE INSTR allows you to substitute one instrument number for another.
  269.  - DELETE INSTR allows you to delete any notes that use the specified
  270.    instrument.
  271.  - NOTE UP/DOWN allows you to increase/decrease the pitch-value of all notes
  272.    in the current channel of the current pattern by one semitone.
  273.  - OCTAVE UP/DOWN is similar to NOTE UP/DOWN but changes the pitch by 12
  274.    semitones, ie. one octave.
  275.  
  276. HOW TO MAKE PSEUDO-WHITE-NOISE EFFECTS:
  277. Define  a random waveform (you may have to make several attempts to produce a
  278. nice  one).   Write a pattern using the wave, and use arpeggio values to give
  279. the  sound a more white-noise feel (typical values for the arpeggio are $C3).
  280. You  can  use  phasing  to make the pseudo-white-noise sound smoother.  It is
  281. best  to  use  low  note-values  for  the white-noise effects, as high values
  282. will betray the fact that you're using a fixed waveform.
  283.  
  284. SPECIAL KEYS
  285. When  you're  not  editing  info-numbers in the Pattern Editor, the following
  286. keys will generate a tone:
  287.  
  288. ZSXDCVGBHNJM (lower octave), Q2W3ER5T6Y7U (upper octave)
  289.  
  290. The F1 key will change the octave (displayed in the Instrument window).
  291.  
  292. When changing values with the small arrow gadgets, you can hold down either
  293. shift key to increment/decrement in steps of $10 rather than steps of 1.
  294.  
  295. PLAY-ROUTINE
  296. I have optimised and modified the play-routine so that it is smaller and much
  297. faster.  If the phasing feature of JamCrackerPro is not used much (or at all)
  298. on  custom  waveforms,  the  raster-time  usage  is  much, much less with the
  299. JamCrackerPro  play-routine  than  it  would  have  been  with  the  original
  300. JamCracker  play-routine.   This  is because custom waveforms are only phased
  301. when  necessary,  not all the time as with the old play-routine.  In general,
  302. the  JamCrackerPro  play-routine  should  always  prove to be faster than the
  303. original  JamCracker  play-routine unless you use phasing on custom waveforms
  304. on all four channels simultaneously.
  305.  
  306. End.
  307.